// 导入Cypress命令
import './commands'
import './database-setup'

// 配置全局设置
Cypress.on('uncaught:exception', (err, runnable) => {
  // 返回false以防止Cypress因未捕获的异常而失败
  return false
})

// 配置API基础URL
Cypress.Commands.add('apiRequest', (method, url, body = {}) => {
  const apiUrl = `${Cypress.env('BACKEND_URL')}${url}`
  return cy.request({
    method,
    url: apiUrl,
    body,
    failOnStatusCode: false,
    headers: {
      'Content-Type': 'application/json',
      'Accept': 'application/json'
    }
  })
})

// 等待页面加载完成
Cypress.Commands.add('waitForPageLoad', () => {
  cy.wait(2000) // UniApp页面加载时间
})

// 清理测试数据
Cypress.Commands.add('cleanTestData', () => {
  // 清理localStorage
  cy.clearLocalStorage()
  
  // 清理后端测试数据（如果需要）
  cy.apiRequest('DELETE', '/api/test/cleanup')
})